Fork me on GitHub

MacOS 搭建 Python 环境

安装 Python3

1
brew install python3
1
2
Warning: python 3.7.4 is already installed, it's just not linked
You can use `brew link python` to link this version.
1
brew link python
1
Linking /usr/local/Cellar/python/3.7.4... Error:Permission denied @ dir_s_mkdir - /usr/local/Frameworks

相应的路径下创建目录,并赋予相应的权限:

1
2
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks

到这里我们就可以用如下命令来检查我们Python是否有安装成功。

1
python3 --version

Python3 和 Python2 的区别

Python3 默认使用 utf-8,在处理中文的时候可以 减少很多编解码的问题,而 Python2 默认使用ascii;官方宣布 Python2 的支持将于 2020 年 1 月停止维护。 具体区别参考官方文档说明:Should I use Python 2 or Python 3 for my development activity?

安装 pip3

直接 sudo easy_install pip3 会报错:

1
2
3
4
5
6
7
8
9
10
sudo easy_install pip3
Password:
Searching for pip3
Reading https://pypi.python.org/simple/pip3/
Couldn't find index page for 'pip3' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/

No local packages or download links found for pip3
error: Could not find suitable distribution for Requirement.parse('pip3')

安装 Python3 时其实会自动安装 pip3,操作如下:

1
2
brew install python3
brew postinstall python3

安装虚拟环境

在开发 Python 应用程序的时候,系统安装的 Python3 只有一个版本,比如 3.7.4,所有第三方的包都会被 pip 安装到 Python3 的 site-packages 目录下。

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个 Python,就是安装在系统的Python 3。如果应用 A 需要 jinja 2.7,而应用 B 需要 jinja 2.6 怎么办?

这种情况下,每个应用可能需要各自拥有一套“独立”的 Python 运行环境。virtualenv 就是用来为一个应用创建一套“隔离”的 Python 运行环境。

  • 安装 virtualenv

    1
    sudo pip3 install virtualenv
  • 安装virtualenvwrapper

    virtaulenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。

    1
    sudo pip3 install virtualenvwrapper
  • 创建文件夹workspaces存放虚拟环境

    1
    2
    mkdir ~/workspaces
    cd ~/workspaces
  • 打开终端shell配置文件写入配置路径

    1
    open ~/.zshrc

    追加

    1
    2
    3
    4
    5
    # 设置virtualenvwrapper
    export WORKON_HOME=~/workspaces
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
    # 打开终端自动启用
    source /usr/local/bin/virtualenvwrapper.sh

    编译

    1
    source ~/.zshrc
  • 创建虚拟环境

    1
    mkvirtualenv test --python=python3
    • lsvirtualenv 查看所有虚拟环境

    • workon 在项目底下激活虚拟环境

      1
      workon test
    • deactivate 退出环境

    • rmvirtualenv 删除环境

      1
      rmvirtualenv test
    • 更多指令可以在 shell 中输入 virtualenv 回车会有提示

virtualenv 原理

virtualenv 是如何创建“独立”的 Python 运行环境的呢?原理很简单,就是把系统 Python 复制一份到virtualenv 的环境,用命令 source venv/bin/activate 进入一个 virtualenv 环境时,virtualenv 会修改相关环境变量,让命令 pythonpip 均指向当前的 virtualenv 环境。

Anaconda

Anaconda (巨蟒)是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu。它解决了Python开发者的两大痛点。

  • 第一:提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。
  • 第二:提供虚拟环境管理,功能类似于 virtualenv,解决了多版本 Python 并存问题。

具体安装参考 完美解决 Python2 和 python3 共存问题的Anaconda

安装 mysql

  • 打开 mysql 官网 点击下方的 DOWNLOADS : MySQL Community Server ,安装。

  • 打开 zshrc 追加环境变量

    1
    PATH=$PATH:/usr/local/mysql/bin

参考文章